Open loop techniques for obtaining contents from distributed storage systems are susceptible to fault conditions, while commonly used closed loop techniques for obtaining contents from distributed storage systems increase the latency. Commonly used storage systems utilize erasure code, especially for handling fault conditions. Basic principles and details relating to erasure codes and rateless codes may be found, for example, in the publication “Digital Fountains: A Survey and Look Forward” by Michael Mitzenmacher, Harvard University; and in publications by Michael G. Luby and Digital Fountain Inc.